home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
033a
/
binkspit.zip
/
BINKSPIT.DOC
< prev
next >
Wrap
Text File
|
1991-09-29
|
30KB
|
671 lines
INTRODUCTION
I have been running a Spitfire/BinkleyTerm setup for a while now (since
1989, before anyone told me "You can't do that!" [grin].) I have worked out
most of the bugs in the setup, even though there are a few things that I
haven't tried yet, such as the Floating Locked baud feature in the new Binkley.
I use BinkleyTerm 2.50 as the mailer, Spitfire (of course!!) as the BBS
software, Dogfight to handle messages in FIDONet for the BBS, and QMail to
handle the mail for my Hub duties. I started on an XT Clone with a 2400 baud
modem. I now run it on an AT '286 home-built clone with DOS version 5.0, 1 meg
of memory, and a USR Dual Standard locked at 19200. In case you are wondering
if this setup can work for someone who wants to be a hub, yes, I am the
Southern Maryland Local Hub, FIDONet Node 1:109/600. It CAN be done, and it's
easy! First, let's tackle BinkleyTerm 2.50.
1) Setting up BinkleyTerm 2.50
OK, you have decided to try out Bink and Spitfire together to see if you
can make it work, because you want to join the largest Computer Network in the
WORLD, FIDONet. Then you look at the Doc's for Binkley, and think to yourself
"AAAAAAAAAAAARRRRRRRRRRRRGGGGGGGGGGGGGGGHHHHHHHHHH!!!!!!!!!!"...
After the initial shock wears off, and you wade through the doc's, you begin
to feel quite lost, wondering why you ever even thought of this outlandish idea
in the first place. There's no way you can make this work, or even begin to
take time off from your day job to start the process of trying to make some
sense of all of that mess. Then you remember that it HAS been done, so it CAN'T
be THAT difficult. Guess what... You're right!! The first thing you should do
is set up the Binkley.Cfg file for your system. When you use your favorite text
editor, you will see that the .CFG file for Binkley is well-commented with brief
explanations for each part of the file. Use these for a guide. Let me show you
some of my setup in this file.
Binkley.Cfg
The Binkley.Cfg file is divided into 2 parts. The first part is to set it up
for your system. Here is mine:
; ----------------------------------------------------------------------------
;
Port 1 ; This is for the com port assignment.
Baud 19200 ; My Locked Baud rate. Also need to set the "&B2" and
; "S27=127" in the NRAM for a USR modem.
Carrier 80 ; Standard carrier mask, this works for me.
; NOTE! Refer to BT_REF.DOC for dial translation characters
Init |ATZ|| ; This is the modem Init string that I use, since I have
; input the modem init string to the USR NRAM, used to begin
; the Unattended Mailer portion of Binkley.
TermInit |ATZ|| ; This is the init string to use Binkley as a Dumb Terminal.
Prefix ATDT ; This is the dialing prefix, pretty self-explanatory.
; Suffix
Busy |ATM0H1| ; This is for when you use F1 to exit Binkley, busies the
; modem.
; WARNING! Refer to BT_REF.DOC for details about 'Answer' statement!
Answer ATA|| ; This is to make the modem answer the phone.
; PreDial `
; PreInit |v``^``
; ModemTrans 1 prefix/suffix ; HST
; ModemTrans 2 prefix/suffix ; PEP
; ModemTrans 3 prefix/suffix ; HST or PEP
; DTRHigh
; Protocol c:\opus\kermit.exe
; Serial
StatusLog c:\LOG\binkley.log ; This tells Binkley where to write its log.
Downloads c:\up\ ; This tells Binkley where to put any downloads you get
; from using Binkley in the Dumb Terminal mode.
;CaptureFile c:\binkley\session.log
LogLevel 5 ; This tells Binkley how much info to put into the log file.
; Level 5 is the most info, comes in handy for debugging your
; setup or someone elses.
Gong ; Used in Dumb Terminal mode to signal connects, end of file
; transfers, etc.
; Rev3
; SlowModem
;LockBaud 19200 ; Refer to the Binkley doc's to see how to use this feature to
; give you a floating/locked baud connect. There's some things
; even I won't try (yet!).
AutoBaud ; Used to dial at the locked baud rate.
; TaskView
; TopView
; MultiLink
; NOTE! In the next statement, Alt-F1 would send "Name" + carriage return
; Macro 1 Name|
; NOTE! In the next statement, Alt-F2 would send "Password" + carriage return
; Macro 2 Password|
; Include suplmnt.cfg
; Application Amax Direct
; AnswerBack My Name|
PollTries 60 ; Used to tell Binkley how many times to call in a
; row if polling someone.
; SwapDir f:\ramdisk\
;
; ----------------------------------------------------------------------------
See, that wasn't so hard, was it. (he he he!) OK, now on to the second
half of the config file. This is where you put in your systems info.
Binkley.Cfg continued...
; ----------------------------------------------------------------------------
;
System John's Workshop
Sysop John Clawson
Address 1:109/600.0@fidonet.org ; Address (FIDONet Zone:Net/Node)
Address 1:109/604.0@fidonet.org ; Also-known-as address
;Address 99:1234/5678.0@eggnet.ftn ; Address for eggnet Zone 99
;NoZones
; PrivateNet 9999
; Boss 9999/9999
; BossPhone 555-1234
; BossPwd Password
NetMail c:\net\ ; Where my Netmail *.Msg (FIDO format) files are kept.
NetFile c:\sf\file1\ ; My Inbound files area, for ALL inbound stuff, mail
; AND files.
; KnownInbound c:\binkley\fileknow\
; ProtInbound c:\binkley\fileprot\
Hold c:\sf\outbound\ ; Outbound mail holding area
;
Domain fidonet.org fidonet nodelist ; Tells Binkley what organization I'm in.
; Domain alternet.ftn alternet anetlist
; Domain eggnet.ftn eggnet egglist
;
Nodelist c:\sf\nodelist\ ; Where I keep my copy of all of the nodelist files.
Version6 ; What type of Nodelist I use.
; Version7
; Dial 1-404- "GA_PCP.SCR"404/ ; Example of dial translation
; Dial 1-603-888 888/ ; Example of dial translation
ScriptPath c:\sf\ ; Some modems are just a pain to connect with, so if
; you wind up using a script, this is how you let
; Binkley know where to find them.
Reader c:\sf\reader.bat ; I use MsgEd, ver 2.07, as my offline reader, and
; this is how I let Binkley know how to run it.
; Overwrite
Unattended ; This tells Binkley to run as a Mailer system.
; NoFullScreen
BoxType 2 ; This tells Binkley how to look on the monitor.
;Colors 113 30 30 30 31 31 113 15 ; Requires VFOSSIL
Mark_Kromm ; Requires VFOSSIL, and is just a color preference.
ScreenBlank ; Requires VFOSSIL, blanks the screen after xx amount of time.
ScreenBlank Call ; Requires VFOSSIL, keeps screen blank on mail-only calls.
BlankWait 60 ; Time in seconds to wait before blanking screen.
; CursorCol 1
; CursorRow 1
; NoSlo
;SmallWindow
StartBlkLen 1024 ; Used to specify the starting block lenth for ZModem
; transfers, most times smaller is better if noisy lines are
; a problem.
Okfile c:\sf\1\okfile.lst ; Tells Binkley where to look for a list of
; files and areas that are OK for File Request.
Avail c:\up\allfiles.txt ; Tells Binkley where to find the File List to
; send if someone requests "FILES".
About c:\sf\1\about.doc ; If there is a problem with either of the 2
; above.
MaxReq 5 ; How many files to allow at one time for a
; file request.
;MaxBytes 400000
;MaxTime 30
; KnownReqList c:\binkley\okfile2.txt
; KnownAvail c:\binkley\myfiles2.arc
; KnownAbout c:\binkley\mysys2.txt
; KnownReqLim 5
; KnownMaxBytes 600000
; KnownMaxTime 45
; ProtReqList c:\binkley\okfile3.txt
; ProtAvail c:\binkley\myfiles3.arc
; ProtAbout c:\binkley\mysys3.txt
; ProtReqLim 15
; ProtMaxBytes 1000000
; ProtMaxTime 60
; NoRequests
ReqOnUs ; Allows someone to do file requests on your
; system.
ReqTemplate c:\sf\sample.tpl ; What to send if the file request fails.
; KnownReqTpl c:\binkley\known.tpl
; ProtReqTpl c:\binkley\prot.tpl
; NoPickup
; NoSharing
;RingTries 4
;SameRing ; IF YOU HAVE BINKLEY SET TO ANSWER THE PHONE, AND NOT THE
; MODEM ( S0=0 in the Init String) LEAVE THIS COMMENTED OUT!!
NoCollide ; Disallows Call Collision.
; Shell 1 Sysopus ; Alt-F1 would send "Sysopus" to COMMAND.COM
; Shell 2 Amax ; Alt-F2 would send "Amax" to COMMAND.COM
Timeout 20 ; How long to wait before assuming a human caller is on and
; waiting to enter the BBS.
Banner Welcome to John's Workshop, A SPITFIRE BBS! ; What to output when a
; human caller is on.
BBSNote Thank you. Now loading BBS. Hang on a minute........ ; What to say
; when loading the BBS software.
DoingMail Sorry, we're not available right now. Processing mail only. ; What
; to tell human callers when doing Mail-Only stuff.
EnterBBS Either press your Escape key, or wait till the BBS decides to load...
; The above line tells a Human caller to press his/her Escape key to
; activate the BBS software, or wait for Binkley to Timeout to go to the BBS.
; ExtrnMail 140 Gimme UUCP
; ExtrnMail 150 Gimme WidgetLink
; MailNote Now loading UUCP...please wait...
BBS Exit ; This is how to tell Binkley to Exit to the BBS software.
; BBS Spawn
;BBS Batch
; AfterMail Unpack.Bat
; CleanUp Scrub.Bat
; Packer Pack.Bat
; NoWaZOO
;
Janusbaud 2400 ; This allows Binkley to use a 2 way protocol, similar to
; BiModem, for mail/file transfers. See the Binkley Doc's for
; more info on this feature.
JanusOK /Arq/V32
JanusOK /V32
;
; TaskNumber 1
; Flags c:\binkley\flags
;
; ----------------------------------------------------------------------------
; Please refer to the documentation for more details on BinkleyTerm set-up...
; That's why there's documentation included in the package.
; ----------------------------------------------------------------------------
That's all there is to that one. Now take a break, go out and settle your
nerves, and then we'll get into some more.
Binkley.Evt
OK, now that you're back, we'll get into the Binkley.Evt file. This is the most
important file that Binkley uses, so you have to set it up correctly for it to
work properly. You will notice that the Binkley.Evt file is also a well
commented file, but don't use the one supplied, it may not let your system run
the way you want.
Binkley.Evt
Event All 00:00 01:15 L=1 B A=60 T=5,99 E1=4 E2=90 ; Latenight
Event All 01:15 03:00 L=1 B A=60 E1=1 E2=90 ; Latenight
Event Mon|Tue|Wed|Thu|Fri|Sat 03:00 04:00 M L=1 B A=30 E1=50 E2=90 ;EventM
Event Sun 03:00 04:00 M L=1 A=30 E1=40 E2=90 ; Event I
Event All 04:00 06:00 M L=1 N A=30 T=5,99 X E1=1 E2=90 ; Callers before (NMH)
Event All 06:00 24:00 L=0 B A=900 E1=1 E2=90 ; Normal BBS Use
First thing you'll probably notice is that the first event starts at 00:00,
which is midnight. Binkley is a VERY late riser, and starts the day at mid-
night, so you'll have to accomodate him that way. Now, let's go over the line
structure so that it'll make a little sense.
Event All 00:00 01:15 L=1 B A=60 T=5,99 E1=4 E2=90 ; Latenight
OK, first you have to tell Binkley that it's an event, so start the line that
way (he he he!). Next, tell it which days to run it on. "All" means just
exactly that, all seven days of the week. Next, what time(s) does the event
cover? In mine, you see that the time goes from Midnight to 1:15 AM. This is
the time I've set aside to specifically try to reach my local Star Hub to pick
up and deliver the mail. The "L" stands for the cost factor, which is inserted
into the Nodelist by whatever program you are using to parse the nodelist. I
use and HIGHLY RECOMMEND a file called PLST_133.LZH, by Bill Andrus, 1:109/301,
as your nodelist parser. It is great, and made to not run out of memory as the
nodelist grows. It is available on the SDN network as PLST_133.LZH also, so try
to pick it up if you can. If not, call my system and download it or File
Request it from me. Now, back to the .Evt file. If you use the "=" sign in the
cost area, Binkley will only make calls out to nodes with a cost factor of 'n',
with 'n' as whatever you put in after the "=" sign. Since I used a 1, it will
only call nodes with a cost factor of 1 or less. Local calls are a cost factor
of 0 on my system, so that covers about all of the calls I normally make. You
can also use either "<" or">" , but the "=" is what has worked best for me. Next
you see the "B", which means that normal BBS calls are also accepted. This is
so my users can also get online after midnight and take turns in whatever door
trips thier trigger, since that is the first turn of the day, and they get the
jump on everybody else (except me, of course. Sysops need fun, too!)! Next is
the "A=60" which is telling Binkley how much time to wait between call tries.
60 means wait one minute so that means whatever number you put in will be the
number of seconds (approximately) that Binkley will wait between tries. Note
the T=5,99 which comes next. That tells Binkley that it can make 99 calls to
any node, but if it has 5 bad connects; i.e. connect but no response, or any
other problem with the connect, then it marks that node as Down and will not
try to connect again. Now comes the fun part (evil grin!!), defining what
errorlevel drop to make when. the E1=4 means to do whatever is defined as
errorlevel 4 in the batch file, as the E2=90 means to do whatever is defined as
errorlevel 90. Once you study my batch file, you'll see that it's not that hard
to understand. Finally, you see the "; Latenight" at the end. Binkley ignores
anything following the ";" so that means nothing to it. It's just there for me.
Now let's look at the maintenance times I have set aside, and why I have them
that way.
Event Mon|Tue|Wed|Thu|Fri|Sat 03:00 04:00 M L=1 B A=30 E1=50 E2=90 ;EventM
Event Sun 03:00 04:00 M L=1 A=30 E1=40 E2=90 ; Event I
First, notice that I have used a different opening statement here, in that one
line has started with all of the days of the week except Sunday, and the next
line just has Sunday. The reason for that is simple, really. I have a
statistical program that I want to run just once a week, so I have set that up
to run in the batch file by using different errorlevel drops to the proper
event. If you wanted to, you could configure Binkley to run an event just once
in a year, but I don't think that I need to cover that here, since the idea
here is to just cover the basics to get you up and running. Next, notice the
"M" in the line, which tells Binkley that it's OK to try to reach the nodes
that are not marked as Crash Mail capable in the nodelist. If your system does
not accept mail on a continuous basis, then you are not crash mail capable, and
can only be reached in the National and Local mail hours, which I'll cover
shortly. Anyway, after the maintenance event has finished, if there is any time
left, then Binkley will try to make any calls it can before National Mail and
Local Mail Hours are in place, which is in the next event.
Event All 04:00 06:00 M L=1 N A=30 T=5,99 X E1=1 E2=90 ; Callers before (NMH)
OK, now to the heart of it all. FIDONet has set aside 2 hours per day to get
mail to ALL nodes, and it is a time that the BBS is not allowed to run, since
users could conceivably be on the whole 2 hours and keep the mail from getting
through, and if the BBS is a very busy one during the day, your mail might not
get in or out at all for days. That's why you see the letter "N" and no letter
"B" in this event. The letter "N" stands for National mail hour. "But", you
say, "You have 2 hours marked here!". A very astute observation on your part!
The reason for that is simple. National Mail Hour changes with the time
changes in Fall and Spring. On the East coast, it will flip-flop with Local
Mail Hour, so to keep it as simple as possible, I have just blocked out 2 hours
for mail. All I have to do now is just set the clock in the computer to the
correct time for my local area, and my National and Local mail hours will be
right no matter if I am in Daylight Savings or Standard time. This brings me to
another point, and that is in the Autoexec.Bat file. You will need to set a
time statement in it like this:
SET TZ=EST+05
so that Binkley will know what time zone you're in. The above statement
translates to "Set The TimeZone to Eastern Standard Time + 05 hours" which
Binkley needs to be able to figure out Greenwich Mean Time. Just trust me on
this one. The letters "M" and "X" tell Binkley that the event is a Mail Only
event (M), and not to send any Outbound File Requests (X) since most systems
will refuse a file request during Mail Hour anyway.
The final line in the event file is the normal, rest-of-the-day BBS/Mail use of
the system.
Event All 06:00 24:00 L=0 B A=900 E1=1 E2=90 ; Normal BBS Use
This tells Binkley that from 6:00 to Midnight, only make calls to the local
calling area, L=0 (calls with a cost of -0- in the nodelist, usually just your
local calling area.), allow BBS use, B, only make outgoing calls every 900
seconds, A=900.
OK, take another break, then let's get into combining BinkleyTerm with Spitfire
and see what you can do with Errorlevel drops in a batch file.
SF.BAT
Alright, now you need to configure the batch file for Spitfire to be able to
run this mess <grin> you've decided to get yourself into. Take a look at the
first part of my SF.Bat file:
echo off
bnu /R=3072 /T=1024 /L:0=19200,8N1 /F
d:\dv\vfos_dv.com
In order to work, BinkleyTerm needs a FOSSIL driver for the com port, and a
video FOSSIL for the monitor. I have found that the easiest FOSSIL to use for
the com port end of the business is one called BNU170.ZIP. It provides the user
with the choice of either a .SYS or .COM driver, and the doc's are pretty good.
The second line of my batch file is where I set up the FOSSIL for use. I'm
telling it to set the Receive buffer to 3072 bytes, the Transmit buffer to
1024 bytes, and to lock the com port to 19200 baud, with Fast ANSI. I have a USR
Dual Standard modem, and the fastest speed that my UART chip can handle reliably
is 19200 baud. I have a 16450 UART, yours may differ. The second line is where
I am telling the video FOSSIL to work. I use the video FOSSIL (public domain)
VFOS_DV.COM, which is meant for the program DesqView. It's a great program, and
requires very little memory. Now let's see what I've done with the rest of the
SF.Bat file and Errorlevel drops. You will see a line that says "brk on", this
is a Control Break driver that is used to keep not-nice users from breaking
into my Dos level from, say, an external protocol batch file. Mike Woltz covers
this in the doc's for Spitfire, and it makes for "GOOD READING" (hint, hint!).
Next you see a Batch file Lable, ":LOOP". Somewhere in the batch file it will
refer to this label as a place for the program to go when it is finished with
whatever task it is doing. Next come the various errorlevels, which you will
notice are in a decreasing level; i.e. 100, 96, 90, etc. Now you need to look
at the Binkley.Evt file to see where the various errorlevels go. The only one
that doesn't seem to fit is 1, which according to the batch file seems to just
go to the end. However, Binkley just drops to the BBS with this setup because
it is actually using either an Errorlevel of 100 for a Local logon or 96 for a
BBS caller. The E1=1 is what Binkley is looking at for the start of the event,
E2=90 for Mail, and anything after that is considered BBS use, unless you
configure it differently. (By the way, you can use the function keys to do a
local logon with this setup, hitting F10 to log on, F9 to handle mail, etc.
Just thought I'd throw that in.)
Event All 00:00 01:15 L=1 B A=60 T=5,99 E1=4 E2=90 ; Latenight
Event All 01:15 03:00 L=1 B A=60 E1=1 E2=90 ; Latenight
Event Mon|Tue|Wed|Thu|Fri|Sat 03:00 04:00 M L=1 B A=30 E1=50 E2=90 ;EventM
Event Sun 03:00 04:00 M L=1 A=30 E1=40 E2=90 ; Event I
Event All 04:00 06:00 M L=1 N A=30 T=5,99 X E1=1 E2=90 ; (NMH)
Event All 06:00 24:00 L=0 B A=900 E1=1 E2=90 ; Normal BBS
brk on
:LOOP
C:
CD\SF
bt
IF ERRORLEVEL 100 GOTO SPITL
IF ERRORLEVEL 96 GOTO SPIT96
IF ERRORLEVEL 90 GOTO MAIL
IF ERRORLEVEL 80 GOTO EVENT_P
IF ERRORLEVEL 50 GOTO EVENT_M
IF ERRORLEVEL 40 GOTO EVENT_I
IF ERRORLEVEL 24 GOTO SPIT96
IF ERRORLEVEL 12 GOTO SPIT96
IF ERRORLEVEL 11 GOTO END
IF ERRORLEVEL 10 GOTO END
IF ERRORLEVEL 4 GOTO IMPCYCLE
IF ERRORLEVEL 3 GOTO SPIT96
IF ERRORLEVEL 1 GOTO EXP
IF ERRORLEVEL 0 GOTO END
OK, now you see the BT after the CD\SF? That starts BinkleyTerm. The various
errorlevels just tell it what type of Exit to make for each condition defined.
Now the rest of the batch file is pretty standard SF.Bat stuff, but you will
notice that I only have defined a baud rate and com port for the Spitfire
portion of the file, and have not put in an Init command; i.e. /I19200. The
reason for that is that the modem is already Init'ed from Binkley, so if I
Init the modem again, I will dump the caller. Another thing that you'll notice
is that I don't use an SFInit.Bat file, or anything else. ALL OPERATIONS, SUCH
AS MAINTENANCE, DOORS, ETC., ARE CONTROLLED BY THE SF.BAT FILE! The reason for
this is that I use a program called Bat2Exec.Exe to compile the batch file into
a .Com file, and then I load this into High Memory through the Autoexec.Bat
file at boot-up. In this manner, I save conventional memory AND speed up the
operation of the BBS at the same time! It works for me...
:SPIT96
SPITFIRE 19200 /C1
IF ERRORLEVEL 57 GOTO DOOR_Z
IF ERRORLEVEL 56 GOTO DOOR_Y
IF ERRORLEVEL 55 GOTO DOOR_X
IF ERRORLEVEL 54 GOTO DOOR_W
IF ERRORLEVEL 53 GOTO DOOR_V
IF ERRORLEVEL 52 GOTO DOOR_U
IF ERRORLEVEL 51 GOTO DOOR_T
IF ERRORLEVEL 50 GOTO DOOR_S
IF ERRORLEVEL 49 GOTO DOOR_R
IF ERRORLEVEL 48 GOTO DOOR_P
IF ERRORLEVEL 47 GOTO DOOR_O
IF ERRORLEVEL 46 GOTO DOOR_N
If ERRORLEVEL 45 GOTO DOOR_M
If ERRORLEVEL 44 GOTO DOOR_L
If ERRORLEVEL 43 GOTO DOOR_K
If ERRORLEVEL 42 GOTO DOOR_J
If ERRORLEVEL 41 GOTO DOOR_I
If ERRORLEVEL 40 GOTO DOOR_H
If ERRORLEVEL 39 GOTO DOOR_F
If ERRORLEVEL 38 GOTO DOOR_E
If ERRORLEVEL 37 GOTO DOOR_D
If ERRORLEVEL 36 GOTO DOOR_C
If ERRORLEVEL 35 GOTO DOOR_B
If ERRORLEVEL 34 GOTO DOOR_A
IF ERRORLEVEL 1 GOTO EXP
IF ERRORLEVEL 0 GOTO EXP
IF ERRORLEVEL 0 GOTO END
Now in the section below for the Local Logon stuff, you see the doors are
labled as, say, Door_A4. This doesn't mean that you need to have 2 door
directories for each door!! It just is a trick with the Errorlevels and batch
programming to keep things flowing smoothly.
:DOOR_D
REM DM S QBBS C:\SF\ C:\SF\DOOR_D\
SFRBBSDR /P C:\SF\DOOR_D /B JOHN'S WORKSHOP /S JOHN CLAWSON
CD\SF\DOOR_D
DWARZ
CD\SF
GOTO SPIT96
:DOOR_D4
SFRBBSDR /P C:\SF\DOOR_D /B JOHN'S WORKSHOP /S JOHN CLAWSON
REM DM S QBBS C:\SF\ C:\SF\DOOR_D\
CD\SF\DOOR_D
DWARZ
CD\SF
GOTO SPITL
See, you just use the label to send the batch file to the right spot. After that
the commands for the door are the same (unless the door runs differently in
Local Mode).
:SPITL
SPITFIRE 0
IF ERRORLEVEL 57 GOTO DOOR_Z4
IF ERRORLEVEL 56 GOTO DOOR_Y4
IF ERRORLEVEL 55 GOTO DOOR_X4
IF ERRORLEVEL 54 GOTO DOOR_W4
IF ERRORLEVEL 53 GOTO DOOR_V4
IF ERRORLEVEL 52 GOTO DOOR_U4
IF ERRORLEVEL 51 GOTO DOOR_T4
IF ERRORLEVEL 50 GOTO DOOR_S4
IF ERRORLEVEL 49 GOTO DOOR_R4
IF ERRORLEVEL 48 GOTO DOOR_P4
IF ERRORLEVEL 47 GOTO DOOR_O4
IF ERRORLEVEL 46 GOTO DOOR_N4
If ERRORLEVEL 45 GOTO DOOR_M4
If ERRORLEVEL 44 GOTO DOOR_L4
If ERRORLEVEL 43 GOTO DOOR_K4
If ERRORLEVEL 42 GOTO DOOR_J4
If ERRORLEVEL 41 GOTO DOOR_I4
If ERRORLEVEL 40 GOTO DOOR_H4
If ERRORLEVEL 39 GOTO DOOR_F4
If ERRORLEVEL 38 GOTO DOOR_E4
If ERRORLEVEL 37 GOTO DOOR_D4
If ERRORLEVEL 36 GOTO DOOR_C4
If ERRORLEVEL 35 GOTO DOOR_B4
If ERRORLEVEL 34 GOTO DOOR_A4
IF ERRORLEVEL 1 GOTO EXP
IF ERRORLEVEL 0 GOTO EXP
Now, let's take care of some mail!! The first thing you see is that I CD to a
Door directory. The reason for that is to run a program that looks for an
incoming file for a game that I run called Dragon Wars, which allows for not
only play on my BBS, but also play from another BBS as well! But enough of the
advertisements. Remember I mentioned the nodelist? That's the list of every-
body in FIDONet, and it is updated weekly. I have set up my system so that if
a new Nodediff comes in, my system will automatically process it, without any
intervention on my part. Since I'm in the Navy and have to travel sometimes, my
system needs to be able to run itself, and do it stably and reliably, and this
is why I have set up the automatic nodelist processing. As a Hub, I have to
keep abreast of all changes in the list. That is what the first three lines do
after I CD to the Mail directory. First I copy the New Nodediff (if it exists)
to a holding directory and get it out of the inbound mail directory. Then it
is unARChived, placed in the Nodelist directory, the old nodelist is unZIPped,
placed in the nodelist directory, then I call a batch file to process the new
nodelist. After it's all done, I then delete the nodediff file from the inbound
directory.
:MAIL
CD\SF\DOOR_D
IF EXIST \SF\FILE1\*.0 DWARZNET
CD\SF\MAIL
IF EXIST C:\SF\FILE1\NODEDIFF.A* COPY C:\SF\FILE1\NODEDIFF.* C:\SF\FILE
IF EXIST C:\SF\FILE1\NODEDIFF.A* COPY C:\SF\FILE1\NODEDIFF.* C:\SF\NODELIST
IF EXIST C:\SF\NODELIST\NODEDIFF.A* CALL C:\SF\NODELIST\PLIST.BAT
DEL C:\SF\FILE1\NODEDIFF.*
Next, I need to forward certain files that come in through the mail to the
other nodes that feed off of me. I use a program called Mail Robot to do that.
It's easy to set up, reliable, and I like it.
MR \SF\FILE\NODEDIFF.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\NODEDIFF.STP
MR \SF\FILE1\FNEWS???.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\FNEWS.STP
MR \SF\FILE1\NLIST???.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\NLIST.STP
MR \SF\FILE1\KLORE???.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\KLORE.STP
MR \SF\FILE1\DCBB????.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\DCBB.STP
MR \SF\FILE1\SMBB????.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\SMBBS.STP
MR \SF\FILE1\SYSOP109.AR? \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\SYS109.STP
Next comes Dogfight, a God-send from Chris Tyson to Spitfire Sysops that want
to be in FIDONet. It imports mail to and exports mail from Spitfire to a
FIDONet compatible message style (*.MSG format).
DFDECOMP C:\SF\FILE1\
XCOPY C:\SF\MAIL\*.PKT C:\SF\FILE1
DFIMPORT
DFEXPORT L DFCFG.001
DFEXPORT L DFCFG.002
DFEXPORT L DFCFG.003
DFEXPORT L DFCFG.004
DFEXPORT L DFCFG.005
DFEXPORT L DFCFG.006
DFEXPORT L DFCFG.007
DFEXPORT L DFCFG.008
DFEXPORT L DFCFG.009
Next, I do the FIDONet areas that I don't keep on my board, but pass through
to other nodes. I use a program called QMail for this.
CD\SF\MAIL
QM TOSS SCAN PACK -Q
QM LINK -FC:\LOG\ECHOTOSS.LOG -Q
DEL C:\LOG\ECHOTOSS.LOG
GOTO LOOP
In the maintenance events, you will see a section that goes like this:
CD\SF\MAIL
ECHO RENUMBERING MESSAGES...
ECHO OFF
MSGNUM -N 1 40 -Q -R C:\600SYSOP
MSGNUM -N 1 20 -Q -R C:\AUTO109
MSGNUM -N 1 35 -Q -R C:\HUBCAP
MSGNUM -N 1 100 -Q -R C:\SYSOP109
MSGNUM -N 1 50 -Q -R C:\SYSCHAT
MSGNUM -N 1 150 -Q -R C:\RECOVERY
MSGNUM -N 1 50 -Q -R C:\LOCSPORT
MSGNUM -N 1 50 -Q -R C:\NETWIDE
MSGNUM -N 1 100 -Q -R C:\TELIX
MSGNUM -N 1 50 -Q -R C:\4SALE
MSGNUM -N 1 25 -Q -R C:\LOCAL-C
MSGNUM -N 1 50 -Q -R C:\USERCONF
MSGNUM -N 1 50 -Q -R C:\LOCSYSOP
MSGNUM -N 1 50 -Q -R C:\LOCDOOR
MSGNUM -N 1 50 -Q -R C:\TECHNET
MSGNUM -N 1 50 -Q -R C:\INTRUSR
MSGNUM -N 1 50 -Q -R C:\BILLNODE
MSGNUM -N 1 50 -Q -R C:\REVIEWS
MSGNUM -N 1 50 -Q -R C:\FRUGAL
What this is doing is to delete old messages in FIDONet-style format from the
directories I keep them in. I use a program called MsgEd as an offline reader
that is 100% FIDO compatible. This way, I don't have to log on locally to the
BBS to read my mail. However, if I don't delete old messages, I would very
soon run out of space for anything else on the drives. the program I use,
MsgNum, takes care of this for me. The rest of the batch file is just stuff I
run for the BBS, so I feel it needs no explanation. How are you doing so far?